'이 전략, 과연 통할까?'
새로운 투자 전략을 세워도 실전에 적용하려면 두려워지기 마련이다. 전략이 틀리면 실제 돈을 잃기 때문이다. 이 두려움을 해소하는 방법이 바로 백테스트(Backtest)다. 백테스트란 과거 데이터에 내 전략을 적용해 보는 것이다. 실제 돈을 쓰지 않고 전략의 성과를 미리 검증할 수 있는 방법이다. 비행기 조종사가 시뮬레이터로 훈련하는 것과 같다. 실전 전에 실수를 경험하고 고치는 과정이다.
투자 전략 모델링 시리즈
1화. 투자 시스템 4요소
2화. 전략을 모델링 사고법 - 백테스트 ← 현재글
3화. 시그널 설계: 가격·펀더멘털·심리 (예정)
4화. 트리거(Trigger) - 진입·청산 설계 (예정)
5화. 리뷰 시스템 - 월간·분기별 성과 분석 (예정)
6화. 투자 시스템을 개인화하는 프레임 (예정)
백테스트, 왜 필요한가
많은 초보 투자자가 좋아 보이는 전략을 세우고 바로 실전에 적용한다. 예상과 다른 결과가 나온 뒤 손실이 커진 후에야 전략이 잘못됐다는 걸 깨닫는다.
백테스트는 먼저 검증하고 그다음 실전에 적용한다. 잘못된 전략을 미리 걸러낼 수 있다. 실제 전문 투자자들은 새로운 전략을 세울 때 반드시 백테스트를 거친다. 퀀트 펀드, 헤지펀드 모두 마찬가지다. 개인 투자자도 이 사고법을 익히면 시행착오를 크게 줄일 수 있다.
☞ 본 글은 투자 정보 제공을 목적으로 하며, 특정 종목의 매수·매도를 권유하지 않습니다. 투자 판단과 그에 따른 손익은 투자자 본인에게 귀속됩니다.
전략 모델링의 3단계 사고법
백테스트를 하기 전에 먼저 '전략 모델링'이 필요하다. 전략 모델링이란 투자 아이디어를 구체적인 숫자와 규칙으로 정리하는 작업이다. 크게 3단계로 나뉜다.
1단계: 아이디어를 규칙으로 바꾼다
모든 전략은 아이디어에서 출발한다. '저평가된 주식을 사면 오를 것 같다'는 생각이 있다고 하자. 이걸 그대로 두면 아이디어에 불과하다. 백테스트를 하려면 숫자로 바꿔야 한다.
'PBR 0.8 이하이면서 ROE 10% 이상인 종목을 매수한다. 매수 후 PBR이 1.2를 넘으면 매도한다.'와 같이 말이다. 이제 이 규칙은 과거 데이터에 적용할 수 있다.
기억하자 명확한 숫자가 없으면 백테스트 자체가 불가능하다.
2단계: 테스트 기간과 시장을 정한다
어떤 시장에서, 얼마 기간 동안 테스트할지 정해야 한다. 코스피·코스닥인지, 미국 S&P500인지를 먼저 정한다. 기간은 최소 5년 이상이 좋다. 짧으면 우연의 영향이 크다.
중요한 점은 반드시 다양한 시장 상황을 포함해야 한다는 것이다. 상승장만 테스트하면 안 된다. 2020년 코로나 폭락, 2022년 금리 인상 국면 같은 하락장도 포함해야 한다. 좋은 전략은 어떤 시장에서도 일정한 성과를 낸다.
3단계: 결과를 숫자로 평가한다
백테스트가 끝나면 결과를 수치로 분석한다. 아래 4가지 지표를 꼭 확인한다.
총 수익률: 전체 기간 동안 얼마를 벌었는가. 단순하지만 가장 기본적인 지표다.
MDD(최대낙폭): 고점 대비 가장 많이 떨어진 폭이다. MDD가 -40%라면 투자 중 한때 원금의 40%를 잃었다는 뜻이다. MDD가 클수록 심리적으로 버티기 어려운 전략이다.
승률: 전체 매매 중 수익이 난 비율이다. 승률이 높다고 반드시 좋은 전략은 아니다. 이기는 폭이 크고 지는 폭이 작은 게 더 중요하다.
샤프지수: 리스크 대비 수익을 나타내는 지표다. 숫자가 높을수록 같은 위험으로 더 많은 수익을 냈다는 의미다. 1 이상이면 양호하다.
백테스트의 과적합을 조심하라
과적합(Overfitting)이란 과거 데이터에만 딱 맞게 전략을 최적화하는 것이다. 2015~2020년 코스피 데이터로 백테스트를 했더니 수익률이 연 50%가 나왔다. 하지만 실전에 적용하면 수익률이 5%도 안 나온다. 이게 과적합의 전형적인 결과다.
왜 이런 일이 생길까? 과거는 이미 알고 있는 결과다. 그 결과에 맞춰 전략을 계속 수정하면 그 기간에만 최적화된 전략이 만들어진다. 미래는 과거와 다르기 때문에 실전에서 무너진다.
과적합을 피하는 방법은 데이터를 두 구간으로 나누는 것이다. 전반부 데이터로 전략을 개발하고, 후반부 데이터로 검증한다. 2010~2020년으로 전략을 만들고 2020~2024년으로 다시 테스트하는 식이다. 후반부에서도 비슷한 결과가 나오면 그 전략은 신뢰할 수 있다.
초보자를 위한 간단한 백테스트 방법
프로그래밍을 몰라도 백테스트를 할 수 있다. 간단한 방법이 있다.
손으로 하는 백테스트: 과거 특정 조건을 만족한 종목들을 찾는다. 그 시점의 주가와 1년 후 주가를 비교한다. 수십 개 종목으로 반복하면 패턴이 보인다. 시간이 걸리지만 전략의 논리를 직접 이해할 수 있다.
국내외 무료 툴 활용: 국내에는 퀀트킹, 영웅문 등의 도구가 있다. 해외에는 포트폴리오 비주얼라이저(Portfolio Visualizer) 같은 무료 사이트가 있다. 간단한 자산배분 전략은 코딩 없이도 테스트할 수 있다.
처음부터 복잡한 전략을 테스트할 필요는 없다. 단순한 전략부터 시작하는 게 낫다. 변수가 적을수록 과적합 위험이 줄어든다. 실전에서는 단순한 전략이 더 잘 버티는 경우가 많다.
백테스트 이후의 과정이 더 중요하다
백테스트가 잘 나왔다고 바로 전액 투자하면 안 된다. 다음 순서를 꼭 지키자.
먼저 소액으로 모의투자를 해본다. 3~6개월 실전 데이터를 모은다. 백테스트 결과와 실제 결과를 비교한다. 비슷하게 나오면 그때 비중을 늘린다.
실전과 백테스트가 다르게 나오는 이유는 여러 가지다. 매수·매도 시 발생하는 거래 비용이 있다. 내가 매수하려는 가격에 항상 살 수 없는 슬리피지 문제도 있다. 이런 현실적인 변수를 백테스트에 반영할수록 결과의 신뢰도가 높아진다.
전략 모델링은 '실패 허용 연습'이다
백테스트의 진짜 가치는 수익률 숫자가 아니다. 전략의 약점을 미리 발견하는 것이다. 어느 시장 상황에서 무너지는지를 알면 그 약점을 보완한 전략을 만들 수 있다. 실패를 실전에서 하면 돈을 잃는다. 하지만 백테스트에서는 아무것도 잃지 않는다. 마음껏 실패하고 배울 수 있다. 그게 전략 모델링의 핵심 가치다.
좋은 투자자는 완벽한 전략을 갖춘 사람이 아니다. 자신의 전략의 한계를 알고 꾸준히 개선하는 사람이다. 백테스트는 그 개선의 시작점이다.
다음화는 '3화. 시그널 설계'에 대해 알아본다. 가격·펀더멘털·심리의 3중 지표를 살펴보자.
☞ 본 글은 투자 정보 제공을 목적으로 하며, 특정 종목의 매수·매도를 권유하지 않습니다. 투자 판단과 그에 따른 손익은 투자자 본인에게 귀속됩니다.

0 댓글